This invention relates generally to the field of data storage systems. More specifically, the invention relates to methods and systems for synchronizing end devices with one or more data stores and/or other end devices.
The use of data stores by individuals and other entities has become more widespread in recent years given increases in data access speeds and decreases in costs of storage capacity. For example, services such as IBackup™, My Docs Online™, StreamLoad™ and Xdrive™ offer inexpensive storage of data through the use of any internet connection. Also, internet service providers such as Comcast™ provide internet accessible data storage to customers who purchase internet access services.
Meanwhile, the number of end devices that may be connected with these systems has increased dramatically due to high user demand for new functionality and lower manufacturing costs. These end devices include cellular phones, personal data assistants, portable music players, computers, television service receivers, and video game consoles such as the Microsoft Xbox™, Xbox 360™ and Sony PlayStation 2™.
Currently, only limited methods exist for synchronizing end devices to data stores. The types of network connectivity employed to synchronize end devices to the data stores is limited, as is the type of data that may be synchronized. For example, a Blackberry™ handheld computer may, in certain circumstances, only be able to communicate over proprietary networks, and then only be able to synchronize e-mail, calendar and contact information. As another example, cellular phones may only be able to synchronize to data held in a data store maintained by the cellular phone service provider, but not to data on an internet accessible data store. Additionally, certain data repositories are only configured to store certain data types, meaning that end devices must complete multiple, separate, and often user initiated synchronizing operations to synchronize multiple data types with multiple repositories.
Many of these methods also require user intervention to initiate synchronization. These methods may require that a user instruct an end device to initiate synchronization rather than conduct routine automatic synchronization whenever network connectivity is present. Likewise, other methods presently known in the art may allow for automatic synchronization of certain data types on certain networks, but require physical docking and/or user initiation of synchronization of remaining data types.
Hence, there is a need for methods that allow for more complete and automatic synchronization of end devices with data stores and/or other end devices.